Баг абилки
исправляется с помощью тригга - добавляем анимационный таг, счетчик для количества ударов и даем руну на морф с другим типом атаки\бонус к урону\...
само собой абилку заменяем другой, можно на основе канала
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode
Читал новое пользовательские соглашение? Потом разжевывали на одной из тем по патчам рефорджа. Близзарды перестраховались, и теперь низя в карту контент пихать, который не твой или свободно распростроняемый, в противном случае хоть 1 жалоба на твою карту - бан, любой мудак которому че-то не понравится может написать близардам, они не будут разбираться он хозяин контента или нет.
Правообладатели нарут и прочих аниме прав тебе никогда не дадут, даже разговаривать не будут, только юр. Лицаи только много денег, бомжи вроде нас с тобой им не интересны. Но при этом за спасибо тебе никто не даст прав делать карту в которой все бы бесплатно играли.
Лучший способ избежать потери информации ввиду такого рода глюков в будущем - это регулярное создание резервных копий. Желательно одновременно на компьютере (в архиве .7z, чтобы избежать разного рода "авто-детектов" наподобие того, который использует рефандед при деинсталляции) и еще где-нибудь, к примеру, на яндекс диске, или на внешнем жестком диске. А еще лучше, если этих "где-нибудь" несколько. К примеру, мой варкрафт 1.26 лежит на всех доступных мне внешних носителях информации, обладающих достаточной вместимостью. И потерять и его могу, только если они все навернутся одновременно.
А группы в массиве CreepsGroup созданы? Нужно либо создавать группы при инициализации, проходясь циклом по массиву, либо в константах указать "размер" массива, и тогда они будут сами созданы. То есть нужно 12 групп -- ставишь размер 12, группы будут созданы в ячейках с 0 по 11.
если ты создаешь нейтрально-враждебных то нужно им в игровых константах менять значения
пошамань с этими значениями и все норм будет, ну а если у тебя монстры под контролем других игроков а не нейтралов, то тогда не знаю даже
guard distance - это расстояние на котором крипы агряться
guard return distance - это на какое расстояние мобы могут отходить от место их создания, если они отошли на 1000 они возвращаются обратно
guard return time - типо тоже самое что с расстоянием, только время
Видимо єта кнопка тесно спряжена с более низкими слоями игры (чит. "hardcoded"). Похоже, что скрыть её нельзя. Я могу только посоветовать вернуться назад и посмотреть, что можно сделать по-другому, чтобы не приходилось скрывать кнопку.
Порыть там надо, во всяком случае стандартные приказы, иконки и клавиши к ним там прописаны.
(естесственно нужно импоритровать эти изменённые файлики в карту)
Я пробовал прописывать кнопке неадекватные значения позиции кнопки и пиктограммы, но ничего не вышло — игра подставляет свои значения.
да сделать такое можно...
при использовании способности "звездопад"... создаём даммика которому приказываем использовать предметную способность распространения порчи...
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
ну редактор тебе ведь написал, что файл поврежден. если даже он работает в игре, это еще не значит, что с ним все в порядке.
если же эдитор на все подряд ругается - другое дело, снести и поставить опять
Редактор ландшафта -> Файл -> Экспортировать скрипт карты. Пишешь небольшой парсер, который отсекает всё до первого триггера, затем каждый триггер в отдельный файл, затем всё после последнего триггера в отдельный файл.
в качестве параметра Condition должна быть функция которая takes nothing returns boolean
для ForGroupBJ должна быть функция takes nothing returns nothing
смотри гуишные примеры и читай статьи
с погоней всё легко(если ты конечно не хочешь чтобы аи прошёл Тест Тьюринга)
если юнит врага видим то запоминаем его координаты и идём к нему
если юнит врага исчез из области видимости (ушёл в туман/инвиз) то идём к последнему местонахождению врага(наши запомненные координаты)
стоит совместить это с проверкой на смерть цели погони(чтобы не бежать к трупу) и с проверкой на угрозу (чтобы не залезть под фонтан случайно)
добавить кода и специй по вкусу
А что мешает поставить время жизни 0 сек, тогда у него не будет таймера жизни и он не помрет по истечению времени.
Используя событие - юнит призвал юнита, можно установить желаемое время жизни призванного юнита.
Ну тот же огненный дождь, там можно настроить лимит урона на волну, а так же настроить урон от горения, т.е на врагах появляется дебафф который их жжет несколько секунд. Ну еще можно абилку огенный голем, в версии где может упасть несколько големов с интервалом, вместо эффекта падения голема сделай эффект землетрясения, а вместо големов щупальца, типо из под землю вылазят. Правда оглушать будет.
Конечно не кастуют, ии получает приоритет исходя из того кто большее всех дерется, кто напал или убивает союзника тот и есть наиболее подходящая цель.
Триггерно проверять нет ли в пределах досигаймости юнита без баффа, если есть то пытатся кастануть в него некоторый скилл - к примеру проклятие банши.
SaveUnitHandle(hash,GetHandleId(target),7,caster);
GetHandleId(target) - хендл самого юнита
LoadUnitHandle(hash,GetUnitTypeId(u),7);
GetUnitTypeId(u) - Ид типа юнита, а не хендл.
Если юнит под баффом "чума" - добавить в отряд Чума
Иначе - удалить из отряда Чума
Триггер
С. Таймер Чума
Отряд выбрать юнитов Чума
Если юнит умер
Д. создать юнита в позиции выбранного юнита.
dave_wwid, уже заметил что даная проблема происходит после сжатия модели стандартными функциями в mdlvis. Нашел лично для себя альтернативу так что вопрос закрываю.
Файл карты - это архив, где содержатся файлы с данными о ландшафте, тенях, юнитах, триггерах и прочего этой карты. Бегло посмотрел пустую карту и насколько понял, за ландшафт отвечают три самых больших файла: в одном содержится информация о текстурах тайлов, в другом о тенях на тайлах, в третьем либо о проходимости, либо о высотах ландшафта. Может быть ещё где-то хранится информация, но не суть. Файл с данными о тенях war3map.shd можно удалить, при сохранении редактор его создаст заново, а вот два других файла war3map.w3e и war3map.wpm нужно аккуратно увеличить, копируя данные внутри них. Только, как отметил Jack-of-shadow, есть лимит у редактора и игры. Не факт, что редактор вообще откроет, а потом сохранит такую большую карту. Если всё-таки хочешь попытаться, то качай:
И тренируйся сперва сделать с помощью этого из карты 32х32 карту 64х64, как получится, можно из 256х256 попытаться сделать 512х512. Если с ней не будет проблем, то можно продолжать.
P. S. Stason888045:
У меня абсолютно нет никаких навыков даже в элементарном программировании, разобрать прогу или игру самому - не осилю ни за что.
А как триггеры делаешь? Как раз элементарное программирование.
20 - 30 к разрушаемых объектов, главное что бы у них не стояло галочки "можно пройти". А вот то что в кадре, это уже другое ограничение. Это зависит от полигонажа моделей. Кажется больше 60 тысяч полигонов в кадре начинают плясать. Анимация сама по себе не на что не повлияет, а вот кол-во костей возможно. но 2-3 на каждый куст вполне можно.
А если кодом, то мелкую траву можно вообще спавнить как спецефекты.
1.Либо в точки где тлайсет раскрашен травой.
2.Можно расставить в редакторе, как декорации, а потом получить список в *doo. И блокнотиком зареплейсить, на эфекты.
Файл карты - это архив, где содержатся файлы с данными о ландшафте, тенях, юнитах, триггерах и прочего этой карты. Бегло посмотрел пустую карту и насколько понял, за ландшафт отвечают три самых больших файла: в одном содержится информация о текстурах тайлов, в другом о тенях на тайлах, в третьем либо о проходимости, либо о высотах ландшафта. Может быть ещё где-то хранится информация, но не суть. Файл с данными о тенях war3map.shd можно удалить, при сохранении редактор его создаст заново, а вот два других файла war3map.w3e и war3map.wpm нужно аккуратно увеличить, копируя данные внутри них. Только, как отметил Jack-of-shadow, есть лимит у редактора и игры. Не факт, что редактор вообще откроет, а потом сохранит такую большую карту. Если всё-таки хочешь попытаться, то качай:
И тренируйся сперва сделать с помощью этого из карты 32х32 карту 64х64, как получится, можно из 256х256 попытаться сделать 512х512. Если с ней не будет проблем, то можно продолжать.
P. S. Stason888045:
У меня абсолютно нет никаких навыков даже в элементарном программировании, разобрать прогу или игру самому - не осилю ни за что.
А как триггеры делаешь? Как раз элементарное программирование.
Итак, спустя 30 часов тестов по 10 минут каждый я нашел проблему.
После 10 минуты при юза огненного столба (его юзали компы, если не я) зависает варкрафт. РЕФАНДЕД спасибо! Инфа сотка, такая проблема оказалась не только у меня в проекте.
Спасибо всем, кто пытался помочь, вы лучшие! :)
Тема закрыта.
Melissa, Короче я разобрался - все проблемы были из-за переменной Total_Num_Players, она была подбита под живых игроков, а так как я был единственным живым игроком, то давала строку равную 1 (то есть 0+1 я). В общем спасибо, не додумал бы без твоей помощи до своей ошибки(у тебя ведь создаётся по заданому числу количество строк).
Короче, так как не разобрался, то сделал пока костыль. Герой этот использует анимацию Spell лишь для этой способности, потому прописал звук появления прямо в модель героя, ну а звук исчезновения у эффекта всё равно работает.
Если всё-таки нужно количество, то далее поставил действие, которое выводит на экран число играющих, просто укажи его целочисленной переменной.
Если нужно количество только реальных игроков или только компьютеров, то добавь соответствующие условие.
Скрин триггера:
Пока делал карту и печатал ответ, PyCCKuu_4eJl опубликовал свой вариант.
» WarCraft 3 / урон деревьям
» WarCraft 3 / Warcraft 3 Reforged. Модели
» WarCraft 3 / Проблемы с работой триггеров
» WarCraft 3 / Как скрыть кнопку строительства?
» WarCraft 3 / Объединение способностей
» WarCraft 3 / Как сделать геройское свечение?
» WarCraft 3 / Крашится модель
» WarCraft 3 / Редактор кода
» WarCraft 3 / общий вопрос про jass
» WarCraft 3 / Редакторы карт WarCraft 3
» WarCraft 3 / помогите вспомнить карту
» WarCraft 3 / Враг на миникарте
» WarCraft 3 / Как изменить условие наоборот?
» WarCraft 3 / Не открывается мапа
» WarCraft 3 / огненный дождь.
» WarCraft 3 / Паразит.
» WarCraft 3 / Превращение в зомби.
» WarCraft 3 / Ошибка в редакторе моделей
» WarCraft 3 / Какой лимит размера карты?
» WarCraft 3 / Особый удар
» WarCraft 3 / Нужна помощь мультиборд
» WarCraft 3 / Исчезновение звука
» WarCraft 3 / гнев деревьев (корни)
» WarCraft 3 / Как отследить улучшения зданий?
» WarCraft 3 / Как сделать подсчет игроков?